冒泡排序
基本思想
通过相邻元素的比较和交换,每一轮将最大(或最小)的元素“冒泡”到序列的末端。
排序过程
轮次 操作 说明 第1轮 相邻比较,交换逆序对 将最大值放到最后 第2轮 重复上述过程 将次大值放到倒数第二位 ... ... ... 第n-1轮 最后两个元素比较 排序完成
代码实现(下标从1开始,输入N个数据)
示例演示
初始数组 5 3 8 1 2 第1轮后 3 5 1 2 8 第2轮后 3 1 2 5 8 第3轮后 1 2 3 5 8 第4轮后 1 2 3 5 8
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
选择排序
基本思想
每一轮从待排序序列中选出最小(或最大)的元素,放到已排序序列的末尾。
排序过程
轮次 操作 说明 第1轮 扫描整个数组,找到最小值 与第一个元素交换 第2轮 从第二个元素开始扫描,找到最小值 与第二个元素交换 ... ... ... 第n-1轮 最后两个元素比较 排序完成
代码实现(下标从1开始,输入N个数据)
示例演示
初始数组 5 3 8 1 2 第1轮后 1 3 8 5 2 第2轮后 1 2 8 5 3 第3轮后 1 2 3 5 8 第4轮后 1 2 3 5 8